我是如何使用 Claude Code 每一项功能的
我使用Claude Code的所有方法大盘点。
我是 ClaudeCode 的狂热爱好者。
作为一名爱好者,我每周都会在虚拟机里运行几次, 处理个人项目。
常常配合 --dangerously-skip-permissions 来随心所欲地写代码 。在工作中,我所在团队的一部分负责为工程团队构建AIIDE规则和工具,仅仅是代码生成就会消耗每月数十亿个token。
基于CLI的Agent赛道愈发拥挤:Claude Code、Gemini CLI、Codex CLI、 Cursor CLI、Copilot CLI…
感觉真正的竞争在于 Anthropic 与 OpenAI 之间。
但坦白说,当我与其他开发者交流时,他们的选择往往取决于一些表面的因素——用这个工具幸运地实现了某个功能,或者他们喜欢的系统提示词的“调性”。
此时这些工具都已经相当不错了。我也觉得大家经常过度关注输出风格或界面。“你说得对!” 式的阿谀奉承其实并不是什么严重的缺陷,反而说明你已经深度参与其中,完全掌握了全局。
对我来说,把任务交出去,设定上下文,然后让它自己工作,只根据最后的PR成品来评估,而不是纠结过程
在连续几个月坚持使用 Claude Code之后,这篇文章总结了我对其整个生态系统的思考。我们会覆盖我使用的几乎所有功能(包括重要的但我不常使用的那些功能),
从基础的 CLAUDE.md 文件和自定义斜杠命令,到 Subagents、Hooks、GitHub Actions等强大能力。这篇文章篇幅较长,我更建议把它当作参考手册,而不是一次性读完。
● CLAUDE.md
在代码库里,要想高效使用 Claude Code,最重要的文件就是根目录下的CLAUDE.md。它是Agent的行为准则,是了解你这仓库运作方式的首要依据。
如何对待这个文件,要看具体场景。对于我的兴趣项目,我让Claude 想写什么就写 什么。
在我的工作上,公司仓库Monorepo中的CLAUDE.md维护得非常严格,目前大小约为13KB(完全有可能增长到 25KB)。
• 它只记录大多30%(这个阈值比较随意)的工程师会用到的工具和 API(其他工具会在产品或库专属的Markdown文件里记录)。
• 我们甚至开始每个内部工具的文档分配最大token 数。 如果你不能简明扼要地解释你的工具,那它就还没准备好被放进 CLAUDE.md。
● 技巧与常见反模式
随着时间推移,我们形成了一套鲜明且有主见的写作哲学,来打造高效的CLAUDE.md。
- 先设限制,而不是写指南。 你的
CLAUDE.md应从小处着手,根据 Claude 常犯的错误来逐步记录相关内容。 - 别在
CLAUDE.md里到处 @ 引用文档。 如果你在别处已有大量文档,很容易想在CLAUDE.md里@这些文件。这会在每次运行时把整份文件塞进上下文窗口,导致臃肿。但如果你只是在文中提到路径,Claude 通常会忽略它。相反的,你必须向 Agent 推销 “为什么” 以及 “什么时候” 需要读这份文件:“遇到复杂用法或碰到 FooBarError 时,请参见 path/to/docs.md 获取最佳问题排查步骤。” - 不要只说“禁止”。 避免纯粹的负面约束,例如 “绝对不要使用 --foo-bar 标志” 当Agent认为它必须使用该标志时,就会左右脑互博,导致卡住。所以永远要提供可行的替代方案。
- 把 CLAUDE.md 当成强制性手段。 如果你的CLI 命令复杂又冗长,与其写长篇大论解释它们,不如写一个简单的bash 包装器,提供清晰直观的 API,然后记录这个包装器。保持
CLAUDE.md尽可能短,是迫使你精简代码库和内部工具的绝佳手段。
这是一个简化的示例
# Monorepo
## Python
- 总是...
- 使用 <command> 进行测试
... 还有10条 ...
## <内部 CLI 工具>
... 10个要点,聚焦于80%的使用场景 ...
- <使用示例>
- 总是...
- 禁止 <x>,优先使用 <Y>